package core;
/**
 * Prepara mensagem de erro clara com informações de
 * linha e coluna. 
 * 
 * @author Rodolpho Uchôa
 * @author Rubens Van Dingenen
 * @author Saulo Toledo
 */
public class SemanticException extends RuntimeException {
	
	/**
	 * RuntimeException implementa Serializable, o que nos
	 * solicita a definição deste atributo.
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Construtor da excessão.
	 * 
	 * @param errorMessage
	 * @param line
	 * @param column
	 */
	public SemanticException(String errorMessage, Integer line, Integer column) {
		super(String.format("Ocorreu um erro semântico na linha %d e coluna %d: %s", line+1, column+1, errorMessage));
	}
}
